Contextual gesture interface

ABSTRACT

The system and method consistent with the present invention provides a contextual gesture interface for electronic devices. The contextual gesture interface activates a function corresponding to the characteristics of an object making contact with a display. The system may determine the time period of the contact as well as the size of the contact. The functions may include a wide array of navigation tools or editing tools. The contextual gesture interface of the present invention may be especially useful in portable electronic devices with small displays.

This is a continuation of application Ser. No. 08/985,261, filed Dec. 4,1997, now abandoned.

RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No.08/985,265 entitled NAVIGATIONAL TOOL FOR GRAPHICAL USER INTERFACE; andU.S. patent application Ser. No. 08/985,264 entitled INTELLIGENT TOUCHDISPLAY, both of which were filed on Dec. 4, 1997, and both of which arehereby incorporated by reference.

BACKGROUND OF THE INVENTION

The present invention relates generally to graphical user interfaces(GUI), and more particularly to contextual gesture interface forgraphical user interfaces.

Until relatively recently, software-based documents have been primarilyviewed and manipulated on desktop or laptop computers with relativelylarge displays, typically 610×480 pixels or larger. These displays areoften large enough to display a full page of standard size page or atleast a significant portion of the page. Hence, on-screen graphicalmenus and controls displayed in window of an application did not greatlyreduce the display area for the underlying document. Computers also haveperipheral devices such as a keyboard or a mouse to control the displayof content information. Thus, viewing and navigating around asingle-page or multi-page document have not posed much difficulty.

Due to increasing focus on compactness of electronic devices, however,the displays especially in portable electronic devices are becomingsmaller and smaller. Popular electronic devices with a smaller displayarea include electronic organizers, PDA's (personal digital assistants),and graphical display-based telephones. Also available today arecommunicators that facilitate various types of communication such asvoice, faxes, SMS (Short messaging Services) messages, e-mail, andInternet-related applications. These products can likewise only containa small display area.

To enable users to navigate around a full page of content information,these devices typically provide hard-keys for arrows as shown in FIG. 1.The hard-keys, however, not only increase the size but also add to thecost of the devices. Also, hard-keys generally provide limited optionsfor direction of movement, e.g., vertical or horizontal. They generallydo not provide the freedom to move in any direction.

Some displays of these devices also require a separate stylus havingperipheral technology that requires transmission of electromagneticpulses or light to the display. These devices often require additionalcontrollers such as buttons on the body or the tip of the stylus foractivation. Furthermore, these styli require a power source, eitherthrough wire or battery, and their compatibility is generally limited toa specific device.

As shown in FIG. 2, other devices substitute hard-keys with graphicalon-screen arrows or scroll bars that are typically used in full-sizecomputer displays. The on-screen scroll bars, however, occupy valuablescreen real estate and compound the limitations of small displays.Similar to the hard-keys, the on-screen arrows also generally restrictthe navigational movement to horizontal or vertical direction.

In other forms of on-screen GUIs, e.g., pop-up menus, also take upvaluable screen space, further reducing the available display area forcontent information. Additionally, on-screen pop-up menus typicallyprovide available functions in multiple layers, thus requiring a user tomove deeply into the hierarchy before reaching the desired function.This is time consuming and renders the GUI cumbersome and ineffective.

Therefore, it is desirable to provide navigation tools that allowsmall-size devices while maximizing the use of available screen realestate.

It is also desirable to provide tools to navigate within a document atany direction at varying speeds.

It is further desirable to provide navigation tools that can beactivated without requiring specific electronic devices.

In addition, it is further desirable to provide an improved GUI thatsimplifies GUI by recognizing various characteristics of the touchinput.

SUMMARY OF THE INVENTION

Systems and methods consistent with the present invention provide acontextual user interface for display devices.

Specifically, a method consistent with this invention of providing acontextual user interface comprises several steps. Initially, a systemdetects an object making contact with a physical viewing area, anddetermines characteristics of the contact. Thereafter, the systemactivates a function corresponding to the contact characteristics andcurrent user task.

A system consistent for this invention for providing a contextual userinterface comprises detecting means, determining means, and activatingmeans. The detecting means detects an object making contact with aphysical viewing area, and determining means determines characteristicsof the contact. Finally, activating means activates a functioncorresponding to the contact characteristics and current user task.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate the invention and together withthe description, serve to explain the principles of the invention.

In the drawings,

FIG. 1 shows conventional hard-key arrows for navigation control;

FIG. 2 shows conventional on-screen graphical navigation tool;

FIGS. 3A-3B are diagrams of an exemplary mobile telephone consistentwith the principles of the present invention;

FIG. 4 is a block diagram showing the elements of the mobile telephoneof FIG. 3A;

FIG. 5 is a block diagram showing the components of the memory of FIG.4;

FIG. 6 is a block diagram of touch screen functionalities;

FIGS. 7A-7B show an exemplary inactive and active graphical navigationtool, respectively;

FIG. 8 is a sample screen showing an active navigation tool;

FIGS. 9A-9C show exemplary features of the navigation tool;

FIGS. 10A-10C are sample screens showing the navigation tool performingvarious navigation functions;

FIG. 11A-11B show exemplary features of the navigation tool relating tospeed of navigation;

FIG. 12 is a diagram illustrating a touch point distribution; and

FIG. 13 is a flowchart illustrating the process of determining the sizeof the object making contact with the viewing area.

FIGS. 14A and 14B are graphs showing the touch characteristics of a penand a finger, respectively.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Reference will now be made in detail to the present preferred embodimentof the invention, an example of which is illustrated in the accompanyingdrawings. Where appropriate, the same reference numerals refer to thesame or similar elements. The appended claims define the scope of theinvention; the following description does not limit that scope.

The graphical navigation tool of the present invention may beimplemented in a wide range of electronic devices mentioned above suchas electronic organizers, PDA's, and graphical display-based telephones.Although the need to maximize the use of screen real estate is mostcritical in portable electronic devices with small displays, the presentinvention can also be implemented in full-size computers or electronicdevices. For purposes of illustration, however, the present inventionwill be explained in detail in a mobile telephone environment.

Specifically, FIG. 3A shows a mobile telephone 310 and FIG. 3B shows anexemplary wireline telephone preferably having the graphical navigationtool consistent with the present invention. Mobile telephone 310includes main housing 210, antenna 320, keypad 330, and display 340.FIG. 4 shows the hardware elements in mobile telephone 310 includingantenna 410, communications module 420, feature processor 430, memory440, sliding keypad 450, analog controller 460, display module 470,battery pack 480, and switching power supply 490.

Antenna 410 transmits and receives radio frequency information formobile telephone 310. Antenna 410 preferably comprises a planar invertedF antenna (PIFA)-type or a short stub (2 to 4 cm) custom helix antenna.Antenna 410 communicates over a GSM (Global System for MobileCommunications) switching fabric using a conventional voice B-channel,data B-channel, or GSM signaling channel connection.

Communications module 420 connects to antenna 410 and provides the GSMradio, baseband, and audio functionality for mobile telephone 310.Communications module 420 includes GSM radio 421, VEGA 423, BOCK 425,and audio transducers 427.

GSM radio 421 converts the radio frequency information to/from theantenna into analog baseband information for presentation to VEGA 423.VEGA 423 is preferably a Texas Instruments VEGA device, containinganalog-to-digital (A/D)/digital-to-analog (D/A) conversion units 424.VEGA 423 converts the analog baseband information from GSM radio 421 todigital information for presentation to BOCK 425.

BOCK 425 is preferably a Texas Instruments BOCK device containing aconventional ARM microprocessor and a conventional LEAD DSP device. BOCK425 performs GSM baseband processing for generating digital audiosignals and supporting GSM protocols. BOCK 425 supplies the digitalaudio signals to VEGA 423 for digital-to-analog conversion. VEGA 423applies the analog audio signals to audio transducers 427. Audiotransducers 427 include speaker 428 and microphone 429 to facilitateaudio communication by the user.

Feature processor 430 provides GUI features and a Java Virtual Machine(JVM). Feature processor 430 communicates with BOCK 425 using high levelmessaging over an asynchronous (UART) data link. Feature processor 430contains additional system circuitry, such as a liquid crystal display(LCD) controller, timers, UART and bus interfaces, and real time clockand system clock generators (not shown).

Memory 440 stores data and program code used by feature processor 430.Memory 440 includes static RAM 442 and flash ROM 444. Static RAM 442 isa volatile memory that stores data and other information used by featureprocessor 430. Flash ROM 444, on the other hand, is a non-volatilememory that stores the program code executed by feature processor 430.

Sliding keypad 450 enables the user to dial a telephone number, accessremote databases, and manipulate the GUI features. Sliding keypad 450preferably includes a mylar resistive key matrix that generates analogresistive voltage in response to actions by the user. Sliding keypad 450preferably connects to main housing 210 (FIG. 3A) of mobile telephone310 through two mechanical “push pin”-type contacts (FIG. 4).

Analog controller 460 is preferably a Phillips UCB 1100 device that actsas an interface between feature processor 430 and sliding keypad 450.Analog controller 460 converts the analog resistive voltage from slidingkeypad 450 to digital signals for presentation to feature processor 430.

Display module 470 preferably includes a 160×320 pixel LCD 472 with ananalog touch screen panel 474 and an electroluminescent backlight. LCD472 operates in conjunction with feature processor 430 to display theGUI features. Analog controller 460 scans touch screen overlay 474 whilefeature processor 430 refreshes LCD 472.

Battery pack 480 is preferably a single lithium-ion battery with activeprotection circuitry. Switching power supply 490 ensures highlyefficient use of the lithium-ion battery power by converting the voltageof the lithium-ion battery into stable voltages used by the otherhardware elements of mobile telephone 310.

FIG. 5 is a block diagram illustrating the components of memory 440.Static RAM 442 stores data and other information used by featureprocessor 430. Flash ROM 444 contains various programs including aprogram 510, a touch screen program 520, a navigation program 530, and adrawing program 540. Program 520, preferably written in languages suchas Java, C, or C++ for Macintosh, is a main program overseeing theoperation of mobile telephone 310.

Touch screen program 520 facilitates processing of touch input on touchscreen panel 474 using a typical touch input algorithm. Navigationprogram 530 handles navigation of the content information display.Drawing program 540 is a graphical drawing package. Programs 520, 530,and 540 may be one of any commercially available packages or auser-defined feature program or macro.

The present invention provides various features through tactile GUI.Initially, LCD 472 displays various GUI features. Referring to FIG. 6, auser touches touch screen panel 474 to provide user input, for example,to navigate around a document or invoke a desired function. Analogcontroller 460 scans touch screen panel 474 and reads the correspondinganalog voltage of touch screen panel 474. Analog controller 460 thenconverts the analog values into corresponding digital valuesrepresenting the Cartesian coordinates, which are transmitted to featureprocessor 430 for processing. The resolution of the touch input dependson the ability of analog controller 460 to discern among multiple levelsof analog values, generally defined in bits.

FIGS. 7A-7B show an exemplary graphical navigation tool preferably usedto navigate around documents that are too large to view within a singlescreen of a physical display (hereinafter referred as “viewing area”).The navigation tool may be used to view any kind of document includingfaxes, Web pages, or e-mail. In one embodiment consistent with thepresent invention, an inactive navigation tool is displayed andaccessible to the user at all times (FIG. 7A). The user may activate thenavigation tool by touching and holding the center of the navigationtool for a predetermined time period, for example, one to two seconds(FIG. 7B). An activated navigation tool is preferably transparent toavoid hindering the display of content information in the viewing areaas shown in FIG. 8. Alternatively, the navigation star may change colorsor other features of its appearance to indicate its active status. Asolid line image, for example, may be used in greyscale displays that donot support transparency.

The present invention may be designed such that feature processor 430ignores any touch input on the navigation tool unless the navigationtool has been activated. Instead, the touch input may be interpreted asinput to access control buttons in the underlying document, write on theunderlying document, or invoke other functions related to the underlyingdocument. This will prevent against unintentional navigation in theviewing window in case the user inadvertently touches touch screen panel474. In an alternative embodiment, the present invention may acceptstylus input to access the underlying document while a finger ornon-electromagnetic touch on any part of the navigation tool invokes thenavigation function.

Referring to FIGS. 9A-9C, once the navigation tool is activated, theuser may navigate through the document by selecting the graphicalarrows, e.g., up, right, left, and down arrows (FIG. 9A), or graphicalpage icons, e.g., previous or next page (FIG. 9B). One skilled in theart may vary the type and number of graphical tools significantly. Forexample, the navigation tool may provide graphical representations forforward, next document, back, or home functions (FIG. 9C).

FIGS. 10A-10C show exemplary screen displays while the user is touchingthe navigation tool. Upon touching the right arrow of the navigationtool, for example, the right arrow is highlighted and navigation program530 moves the display to the right (FIG. 10A). Similarly, touching thedown arrow moves the display down (FIG. 10B). Although the four arrowsare presented to guide the users, navigation program 530 supportsnavigational movement at any direction. If the user touches an area ofthe navigation tool equidistant between the up and right arrows, forexample, navigation program 530 will move the display towards theupper-right portion of the underlying document at a 45-degree angle.Touching the arrows or any area in between, moves the display in theselected direction until navigation program 530 reaches the edge of thepage.

Touching the next page icon moves the viewing window to the next page ofthe underlying document (FIG. 10C). If a particular document does nothave a page corresponding to a previous or next pace icon, navigationprogram 530 will not display the respective previous or next page icons.This would apply to one-page documents, or when the user is at thebeginning or end of a multi-page document. In one embodiment consistentwith the present invention, a momentary touch of the next page iconcauses navigation program 530 to jump to the next page while acontinuous touch on the next page icon causes navigation program 530 tocontinue scrolling through succeeding paces of the underlying document.The previous page icon may embody similar characteristics.

The user may also control the speed of the navigation. As shown in FIG.11A, the speed of the navigation accelerates as the user touch movesfrom the center of the circle toward the circumference of the circle,i.e., tip of the arrow. Hence, the viewing window moves slowly when theuser touches the blunt end of the arrow located at the center of thecircle while the speed accelerates as the user moves the finger towardsthe tip of the arrow. The speed of navigation, therefore, is determinedby the distance of the touch relative to the center of the circle.Likewise, similar principles apply to previous or next page/documenticons where a touch closer to the outer edge of the previous or nextpage/document icons accelerates navigation through the document as shownin FIG. 11B.

Although the exemplary transparent tool discussed above is fornavigation, transparent control tools may be implemented for a varietyof functions. A transparent tool may, for example, be used for a Webbrowser application where the controls may be used for appropriatefunctions such as moving forwards or backwards through different Webpages or returning to home page. One skilled in the art may easily varythe design or the functionality of the graphical navigation toolsdescribed above without departing from the scope of the presentinvention.

In an exemplary embodiment of a navigation tool described above, afinger touch invokes navigational functions based on the featureselected and the location of the user touch. Alternatively, otherobjects making contact with touch screen panel 474 may invoke othertools or functions. A pointy stylus touch, for example, may invoke amenu with cardinal points representing multiple line widths, colors, orpatterns.

In another embodiment consistent with the present invention, tools orapplication programs may be stored in flash ROM 444 to provide relatedinterfaces to the user. The use of a finger may, for example, invoketools or dialogues that are finger-touchable and large whereas the useof a sharp stylus may invoke a modified GUI with smaller touch targets.In a yet another embodiment, in a document viewing application normallynavigable by a finger touch, use of a sharp stylus may automaticallyinvoke a document annotation application for marking up the underlyingdocument.

As described above, the touch-responsive GUI of the present inventionare facilitated though various components including touch screen panel474, analog controller 460, and feature processor 430. Specifically,analog controller 460 scans touch screen panel 474 to read thecorresponding analog voltage of touch screen panel 474 activated by auser touch. Analog controller 460 then converts the analog values into adigital value representing the Cartesian coordinates, which istransmitted to feature processor 430 for processing according to thefunctionalities of the present invention.

When a user touches touch screen panel 474, program 510 initiates touchscreen program 520 to determine the pointer size of the object makingcontact with touch screen panel 474 based on a touch point distributionor pointer size of the touch input. As shown in FIG. 12, touch screenprogram 520 can, for example, determine whether the pointer size of theobject is a finger or a sharp object.

FIG. 13 is a flowchart illustrating the process of determining the sizeof the object making contact with the viewing area. Touch point program520 first determines the individual points of contact made by the object(step 1310). It computes a centroid, or other average point, of thedetermined points of contact (step 1320). Touch program 520 thencomputes a standard deviation of the centroid as well as the variance(step 1330), and determines the pointer size based on the centroid andthe standard deviation (step 1340). These computations are preferablyperformed on a real-time basis to provide immediate system response tothe touch input. In order to achieve optimum results and accuracy,analog touch controller 460 preferably generates 150 points per secondor more. Touch program 520 may also use the amount of pressure imposedon touch screen panel 474 as a function of time to determine the size ofobject. As shown in FIG. 14A, for example, if the amount of pressureincreases or decreases sharply at a particular instant in time, touchpoint program 520 may determine that the touch corresponds to a pen. Afinger touch, on the other hand, results in a gradual increase anddecrease in pressure as illustrated by a smoother curve in FIG. 14B.

Program 510 can also be programmed to correlate certain pointer size tocertain objects and invoke corresponding functions or tools. Such GUIprovides a richer, yet simplified interaction between the user andmobile telephone 310. If program 510 determines that the pointer size ofthe object corresponds to the size of a finger, program 510 may initiatea navigation tool. If the pointer size corresponds to the size ofseveral fingers, program 510 may invoke a drag function of thenavigation tool. On the other hand, if program 510 determines that thepointer size of the object corresponds to size of a sharp point or pen,program 510 may initiate a drawing tool supported by drawing program540. Similarly, if program 510 determines that the pointer size of theobject corresponds to size of a pencil eraser, program 510 may initiatean erase function of the drawing tool. One skilled in the art may easilyvary the functions or tools initiated by program 510. Additionally, thefunctions or tools may be commercial software packages, predeterminedfunctions, or user-defined macros.

In addition to using the pointer size to determine the desired GUI,program 510 can also incorporate other characteristics of the usertouch, e.g., gestures or movements, to simplify GUI and maximize screenreal estate. A gesture recognizing interface extends the ability of thepresent invention to distinguish between different sized pointers totrack gestures and movement of user input based on vector direction andmagnitude, all in the context of active user application. This type ofcontextual gesture interface can infer by context, the implement, andthe gesture chosen by the user what functions the user wishes to invoke.Accordingly, all these functions are available without menus or scrollbars and do not require additional screen areas to display thefunctions.

Program 510 recognizes other characteristics of the touch inputincluding the context of the input, namely the task or sub-taskapplications running when the GUI is invoked. If a user is in a documentnavigation application, for example, program 510 interprets a quick dragto the right as a next page function. If the underlying task is anediting application, program 510 may interpret the same gesture as ahighlight function and highlight a portion of the document touched bythe user. Similarly, in graphics application, a quick drag to the rightmay invoke a drawing tool to draw from the starting point to the endingpoint of the touch points. In a document viewing application, the sametouch may invoke a navigation tool to move the view of the document inthe direction of the finger drag.

All of the above functions and features described above focuses onproviding intuitive GUIs and minimize the need for users to memorizecomplicated, hierarchical menus or procedures. Additionally, the presentinvention maximize available screen real estate while providing a widearray of GUI and tools.

It will be apparent to those skilled in the art that variousmodifications and variations can be made in the system of the presentinvention and in construction of this system without departing from thescope or spirit of the invention. Other embodiments of the inventionwill be apparent to those skilled in the art from consideration of thespecification and practice of the invention disclosed herein. Thespecification and examples should be considered as exemplary only, withthe true scope and spirit of the invention indicated by the followingclaims.

What is claimed is:
 1. A method of providing a contextual user interfacecomprising the steps of: ascertaining a current user application out ofa plurality of applications; detecting an object making contact with aphysical viewing area; determining which type of object, of a pluralityof types of objects, has made contact with the physical viewing area byperforming the substeps of: determining a characteristic of the contact;determining a rate of change in the amount of pressure imposed by theobject on the physical viewing area; and computing a point size of thecontact based on the rate of change in the amount of pressure, therebydetermining which type of object of the plurality of types of objectshas made contact with the physical viewing area, and activating afunction corresponding to the contact characteristic, the type of objectmaking contact, and the current user application.
 2. The method of claim1, wherein determining a characteristic of the contact includes:determining a time period of contact.
 3. The method of claim 1, whereindetermining a characteristic of the contact includes: determining thecontact characteristic as a prolonged finger-sized object, and whereinthe activating step includes the substep of activating a navigationtool.
 4. The method of claim 1, wherein determining a characteristic ofthe contact includes: determining the contact characteristic as aprolonged stylus-sized object, and wherein the activating step includesthe substep of activating a drawing tool.
 5. The method of claim 1,wherein the determining a characteristics of the contact step includesthe substep of determining the direction of movement of the contact. 6.The method of claim 1, wherein the determining a characteristics of thecontact step includes the substep of determining the speed of movementof the contact.
 7. The method of claim 1, wherein when the current userapplication is a navigation application, the determining acharacteristic of the contact step includes the substep of determiningthe contact characteristic as a quick drag, and the activating stepincludes the substep of activating a next page function.
 8. The methodof claim 7, wherein when the current user application is an editingapplication, the determining a characteristic of the contact stepincludes the substep of determining the contact characteristic as aquick drag, and the activating step includes the substep of highlightinga section of a document underlying the user input.
 9. The method ofclaim 8, wherein when the current user application is a graphicsapplication, the determining a characteristic of the contact stepincludes the substep of determining the contact characteristic as aquick drag, and the activating step includes the substep of drawing aline in a section of a document underlying the user input.
 10. Themethod of claim 9, wherein when the current user application is anetwork browser application, the determining a characteristic of thecontact step includes the substep of determining the contactcharacteristic as a lingering touch, and the activating step includesthe substeps of enabling a graphical tool, and disabling functions ofunderlying document.
 11. The method of claim 1, wherein the detectingstep includes the substeps of measuring an analog voltage signal fromthe physical viewing area, and converting the analog voltage signal to adigital value.
 12. The method of claim 11, further including the step oftransmitting the digital value to a processor.
 13. The method of claim12, further including the step of analyzing the digital value by theprocessor.
 14. The method of claim 1, wherein the determining stepincludes the substeps of: determining the amount of pressure imposed onthe physical viewing area by the object; determining a time period ofcontact; and computing a point size of the contact based on the amountof pressure imposed on the physical viewing area as a function of thetime.
 15. The method of claim 1, wherein the computing a point size stepincludes determining points of contact of the object by using points ofcontact data, wherein the points of contact data is generated by acontroller that generates at least 150 points of contact per secondbased on the contact made by the object on the physical viewing area.16. The method of claim 1, wherein determining a rate of change in theamount of pressure imposed by the object on the physical viewing areaincludes: determining whether the pressure imposed by the object on thephysical viewing area changes gradually or sharply over a predeterminedrange of time.
 17. An apparatus for providing a contextual userinterface comprising: means for ascertaining a current user applicationout of a plurality of applications; means for detecting an object makingcontact with a physical viewing area; means for determining which typeof object, of a plurality of types of objects, has made contact with thephysical viewing area, wherein the means for determining includes: meansfor determining a characteristic of the contact; means for determining arate of change in the amount of pressure imposed by the object on thephysical viewing area; and means for computing a point size of thecontact based on the rate of change in the amount of pressure, therebydetermining which type of object of the plurality of types of objectshas made contact with the physical viewing area, and means foractivating a function corresponding to the contact characteristic, thetype of object making contact, and the current user application.
 18. Theapparatus of claim 17, wherein the means for determining acharacteristic of the contact includes: means for determining the timeperiod of the contact.
 19. The apparatus of claim 17, wherein the meansfor determining a characteristic of the contact includes: means fordetermining the contact characteristic as a prolonged finger-sizedobject, and wherein the activating means includes: means for activatinga navigation tool.
 20. The apparatus of claim 17, wherein the means fordetermining a characteristic of the contact includes: means fordetermining the contact characteristic as a prolonged stylus-sizedobject, and wherein the activating means includes: means for activatinga drawing tool.
 21. The apparatus of claim 17, wherein the means fordetermining a characteristic of the contact includes: means fordetermining the direction of movement of the contact.
 22. The apparatusof claim 17, wherein the means for determining a characteristic of thecontact includes: means for determining the speed of movement of thecontact.
 23. The apparatus of claim 17, wherein when the current userapplication is a navigation application, the means for determining acharacteristic of the contact includes: means for determining thecontact characteristic as a quick drag, and the activating meansincludes: means for activating a next page function.
 24. The apparatusof claim 23, wherein when the current user application is an editingapplication, the means for determining a characteristic of the contactincludes: means for determining the contact characteristic as a quickdrag, and the activating means includes: means for highlighting asection of a document underlying the user input.
 25. The apparatus ofclaim 24, wherein when the current user application is a graphicsapplication, the means for determining a characterstic of the contractincludes: means for determining the contact characteristic as a quickdrag, and the activating means includes: means for drawing a line in asection of a document underlying the user input.
 26. The apparatus ofclaim 25, wherein when the current user application is a network browserapplication, the means for determining a characteristic of the contactincludes: means for determining the contact characteristic as alingering touch, and the activating means includes: means for enabling agraphical tool, and means for disabling functions of underlyingdocument.
 27. The apparatus of claim 17, wherein the detecting meansincludes means for measuring an analog voltage signal from the physicalviewing area, and means for converting the analog voltage signal to adigital value.
 28. The apparatus of claim 27, further including meansfor transmitting the digital value to a processor.
 29. The apparatus ofclaim 28, further including means for analyzing the digital value. 30.The apparatus of claim 17, wherein the means for computing a point sizeincludes means for determining point of contact of the object, whereinthe means for determining points of contact of the object includes:means for using points of contact data, wherein the points of contactdata is generated by a controller that generates at least 150 points ofcontact per second based on the contact made by the object on thephysical viewing area.
 31. The apparatus of claim 17, wherein the meansfor determining a rate of change in the amount of pressure includes:means for determining whether the pressure imposed by the object oil thephysical viewing area changes gradually or sharply over a predeterminedrange of time.
 32. A method of providing a contextual user interfacecomprising the steps of: detecting an object making contact with aphysical viewing area; determining characteristics of the contact, basedon a rate of change in the amount of pressure imposed by the object onthe physical viewing area; and activating a function corresponding tothe contact characteristics and current user task, wherein thedetermining step includes: determining points of contact of the object,by using points of contact data, wherein the points of contact data isgenerated by a controller that generates at least 150 points of contactper second based on the contact made by the object on the physicalviewing area.
 33. An apparatus for providing a contextual user interfacecomprising: means for detecting an object making contact with a physicalviewing area; means for determining characteristics of the contact,based on a rate of change in the amount of pressure imposed by theobject on the physical viewing area; and means for activating a functioncorresponding to the contact characteristics and current user tasks,wherein the means for determining includes: means for determining pointsof contact of the object, by using points of contact data, wherein thepoints of contact data is generated by a controller that generates atleast 150 points of contact per second based on the contact made by theobject on the physical viewing area.
 34. A method for providing atouch-responsive user interface including a touch screen devicecomprising a physical viewing area, the method comprising the steps of:presenting a first application tool on the physical viewing area;presenting a second application tool on the physical viewing area,wherein the second application tool is superimposed on top of the firstapplication tool; detecting an object making contact on the physicalviewing area, wherein the contact is located on the second applicationtool superimposed on top of the first application tool; determining thepointer size of the object making contact on the physical viewing area;and activating either the first application tool or the secondapplication tool, based on the determined pointer size of the object.35. The method of claim 34, wherein the first application tool is adrawing tool, the method further comprising the steps of: determiningthat the pointer size correlates to a stylus pointer; and activating thefirst application tool based on the determination that the pointercorrelates to a stylus pointer.
 36. The method of claim 34, wherein thesecond application is a navigation tool, the method further comprisingthe steps of: determining that the pointer size correlates to a finger;and activating the second application tool based on the determinationthat the pointer correlates to a finger.
 37. The method of claim 34,wherein the step of determining the pointer size of the object furtherincludes the steps of: determining the amount of pressure imposed by theobject on the physical viewing area; determining the amount of time theobject makes contact with the physical viewing area; and determining thepointer size of the object based on the amount of change in the pressureimposed by the object as a function of a range of time the object makescontact with the physical viewing area.
 38. The method of claim 34,wherein the step of determining the pointer size of the object furtherincludes the steps of: determining points of contact of the object, byusing points of contact data, wherein the points of contact data isgenerated by an analog controller that generates at least 150 points ofcontact per second based on the contact made by the object on thephysical viewing area; computing a centroid of the points of contact,computing a standard deviation of the centroid, and computing thepointer size based on the centroid and the standard deviation.
 39. Themethod of claim 34, wherein the step of determining the pointer size ofthe object further includes the steps of: determining points of contactof the object, by using points of contact data, wherein the points ofcontact data is generated by an analog controller that generates atleast 150 points of contact per second based on the contact made by theobject on the physical viewing area; determining the amount of pressureimposed by the object on the physical viewable area; determining theamount of time the object makes contact with the physical viewable area;and determining a pointer size based on the determined amount ofpressure as a function of the determined time.
 40. A method of providinga touch-responsive user interface comprising the steps of: detecting anobject making contact with a physical viewing area; determining apointer size of the object; and activating a function corresponding tothe pointer size, wherein the determining step includes the substeps of:determining a rate of change in the amount of pressure imposed by theobject on the physical viewing area thereby determining whether thepressure imposed by the object on the physical viewing area changesgradually or sharply over a predetermined range of time; and computing apointer size based on the rate of change in the amount of pressure. 41.The method of claim 40, wherein the computing step includes: associatingthe pointer size with a stylus pointer when the pressure imposed by theobject changes sharply; and associating the pointer size with a fingerwhen the pressure imposed by the object changes gradually.
 42. Anapparatus for providing a touch-responsive user interface comprising:means for detecting an object making contact with a physical viewingarea; means for determining a pointer size of the object; and means foractivating a function corresponding to the pointer size, wherein themeans for determining includes: means for determining a rate of changein the amount of pressure imposed by the object on the physical viewingarea, thereby determining whether the pressure imposed by the object onthe physical viewing area changes gradually or sharply over apredetermined range of time; and means for computing a pointer sizebased on the rate of change in the amount of pressure.
 43. The apparatusof claim 42, wherein the means for computing includes: means forassociating the pointer size with a stylus pointer when the pressureimposed by the object changes sharply; and means for associating thepointer size with a finger when the pressure imposed by the objectchanges gradually.